python,从键盘输入两个列表,元素均为整数,获取两个列表中值相同的元素形成一个新列表,将该新列表保存到字典的值中,然后输出到屏幕。例如,若输入的两个列表为: l1 = [11, 22, 33]和
时间: 2024-11-03 09:16:52 浏览: 5
python找出一个列表中相同元素的多个索引实例
在Python中,你可以通过以下步骤实现这个功能:
首先,让用户输入两个列表,我们可以使用`input()`函数获取用户输入,并使用`split()`将其分割成字符串列表,然后通过`map()`和`int()`转换成整数列表。
```python
l1_str = input("请输入第一个列表,元素之间用逗号分隔:")
l1 = list(map(int, l1_str.split(",")))
l2_str = input("请输入第二个列表,元素之间用逗号分隔:")
l2 = list(map(int, l2_str.split(",")))
```
接下来,我们需要找到两个列表中相同的元素。可以使用集合(set)来快速找出交集,因为集合只包含唯一的元素。
```python
common_elements = list(set(l1) & set(l2))
```
现在我们有了共同的元素,接下来创建一个新的字典,键是列表1的索引,值是这些公共元素的列表。假设我们有一个空字典`result_dict`。
```python
result_dict = {}
for i, element in enumerate(l1):
if element in common_elements:
if i not in result_dict:
result_dict[i] = [element]
else:
result_dict[i].append(element)
```
最后,打印结果字典:
```python
print(result_dict)
```
如果你想要将结果输出到屏幕上,可以直接这样做,如果需要格式化输出,可以使用`pprint`模块。
完整代码示例:
```python
import pprint
l1_str = input("请输入第一个列表,元素之间用逗号分隔:")
l1 = list(map(int, l1_str.split(",")))
l2_str = input("请输入第二个列表,元素之间用逗号分隔:")
l2 = list(map(int, l2_str.split(",")))
common_elements = list(set(l1) & set(l2))
result_dict = {}
for i, element in enumerate(l1):
if element in common_elements:
if i not in result_dict:
result_dict[i] = [element]
else:
result_dict[i].append(element)
pprint.pprint(result_dict)
```
阅读全文