RewriteToLiteralRule

A derivative of flake8-comprehensions’ C405-C406 and C409-C410. It’s unnecessary to use a list or tuple literal within a call to tuple, list, set, or dict since there is literal syntax for these types.

Has Autofix: Yes

VALID Code Examples

# 1:

(1, 2)

# 2:

()

# 3:

[1, 2]

# 4:

[]

# 5:

{1, 2}

# 6:

set()

# 7:

{1: 2, 3: 4}

# 8:

{}

INVALID Code Examples

# 1:

tuple([1, 2])

Autofix:

---
+++
@@ -1 +1 @@
-tuple([1, 2])
+(1, 2)

# 2:

tuple((1, 2))

Autofix:

---
+++
@@ -1 +1 @@
-tuple((1, 2))
+(1, 2)

# 3:

tuple([])

Autofix:

---
+++
@@ -1 +1 @@
-tuple([])
+()

# 4:

list([1, 2, 3])

Autofix:

---
+++
@@ -1 +1 @@
-list([1, 2, 3])
+[1, 2, 3]

# 5:

list((1, 2, 3))

Autofix:

---
+++
@@ -1 +1 @@
-list((1, 2, 3))
+[1, 2, 3]

# 6:

list([])

Autofix:

---
+++
@@ -1 +1 @@
-list([])
+[]

# 7:

set([1, 2, 3])

Autofix:

---
+++
@@ -1 +1 @@
-set([1, 2, 3])
+{1, 2, 3}

# 8:

set((1, 2, 3))

Autofix:

---
+++
@@ -1 +1 @@
-set((1, 2, 3))
+{1, 2, 3}

# 9:

set([])

Autofix:

---
+++
@@ -1 +1 @@
-set([])
+set()

# 10:

dict([(1, 2), (3, 4)])

Autofix:

---
+++
@@ -1 +1 @@
-dict([(1, 2), (3, 4)])
+{1: 2, 3: 4}

# 11:

dict(((1, 2), (3, 4)))

Autofix:

---
+++
@@ -1 +1 @@
-dict(((1, 2), (3, 4)))
+{1: 2, 3: 4}

# 12:

dict([[1, 2], [3, 4], [5, 6]])

Autofix:

---
+++
@@ -1 +1 @@
-dict([[1, 2], [3, 4], [5, 6]])
+{1: 2, 3: 4, 5: 6}

# 13:

dict([])

Autofix:

---
+++
@@ -1 +1 @@
-dict([])
+{}

# 14:

tuple()

Autofix:

---
+++
@@ -1 +1 @@
-tuple()
+()

# 15:

list()

Autofix:

---
+++
@@ -1 +1 @@
-list()
+[]

# 16:

dict()

Autofix:

---
+++
@@ -1 +1 @@
-dict()
+{}